A controller is a device, or set of devices, that manages, commands, directs or regulates the behavior of other devices or systems. Typically, a controller stores data indicative of the operation of the controlled system and use such data for the controlling.
Many advanced control techniques are formulated as optimization problems, which can be solved by programming. For example, one class of such techniques is optimization-based receding time horizon control, such as model predictive control (MPC). There are MPC formulations for both linear and non-linear systems. Non-linear MPC solves non-linear programs in real-time, which can be a challenging task due to limited computing resources, the complexity of the problem to solve, or the time available to solve the problem. Therefore, most of the practical applications are based on a linearity assumption or approximation. The linear MPC typically solves a quadratic programming problem, i.e. the problem of optimizing (minimizing or maximizing) a quadratic function of several variables subject to linear constraints on these variables.
When compared to other control strategies, the MPC has the advantage of explicitly accounting for constraints and the ability to handle multiple inputs and outputs. However, the MPC is computationally complex because it requires an optimization problem to be solved at each time step in order to calculate the control output of the controller to be used as a control input of the system.
An explicit MPC (EMPC) is formulated as a way of dealing with these limitations. In EMPC, the optimization part of the problem is solved off-line, prior to implementing the controller. In particular, for linear systems subject to linear constraints and cost function based on one-norm, infinity-norm, or squared two-norm, EMPC results in a polyhedral piecewise affine (PWA) feedback law. Thus, during the on-line execution, the EMPC controller first identifies which polyhedral region contains the current state, and then computes the control action by evaluating the corresponding affine control law. In other words, the solution to the off-line part of the algorithm is represented as a set of adjacent, convex regions in an n-dimensional state space. The real-time part of the control process searches the state space to determine which region the system is currently operating in. The identification of the polyhedral region is referred to as the point location problem. Each region is associated with a set of coefficients used to easily calculate the control; see, e.g., WO2013/136090.
The reduction of the precision of the data used by the controller to control the system decreases the number of bits stored by the controller and increases the speed of the control. However, such a reduction reduces the accuracy of the on-line execution of the controller. For example, if the selected precision is too small, then the accuracy of the controller can get below the required level of accuracy.
The state-of-the-art method for determining the number of bits on the memory of the controller is a subjective decision based on an ad hoc educated guess of the engineer designing the controller for the given system. Such a subjective decision does not usually guarantee a specific level of accuracy of the control.